package com.zwj.design.factory.method;

import com.zwj.design.factory.method.factory.impl.FactoryA;
import com.zwj.design.factory.method.service.IProduct;

/**
 * 工厂方法模式，特点：完全符合开闭原则
 * 缺点：类的个数容易过多，增加复杂度
 *      实现抽象工厂接口的具体工厂只能生产出一种产品（可以用抽象工厂模式解决）
 * @author 摸鱼二长老
 * @version 1.0
 * @createTime 2023-06-29 10:55:00
 */
public class Client {
    public static void main(String[] args) {
        IProduct iProduct = new FactoryA().makeProduct();
        iProduct.doSomeThing();
    }
}
